Regen all docs. (#700)

* Stop recursing if discovery == {}

* Generate docs with 'make docs'.
diff --git a/docs/dyn/proximitybeacon_v1beta1.beacons.html b/docs/dyn/proximitybeacon_v1beta1.beacons.html
index 39d6681..a32f915 100644
--- a/docs/dyn/proximitybeacon_v1beta1.beacons.html
+++ b/docs/dyn/proximitybeacon_v1beta1.beacons.html
@@ -72,7 +72,7 @@
 
 </style>
 
-<h1><a href="proximitybeacon_v1beta1.html">Google Proximity Beacon API</a> . <a href="proximitybeacon_v1beta1.beacons.html">beacons</a></h1>
+<h1><a href="proximitybeacon_v1beta1.html">Proximity Beacon API</a> . <a href="proximitybeacon_v1beta1.beacons.html">beacons</a></h1>
 <h2>Instance Methods</h2>
 <p class="toc_element">
   <code><a href="proximitybeacon_v1beta1.beacons.attachments.html">attachments()</a></code>
@@ -100,7 +100,7 @@
   <code><a href="#get">get(beaconName, projectId=None, x__xgafv=None)</a></code></p>
 <p class="firstline">Returns detailed information about the specified beacon.</p>
 <p class="toc_element">
-  <code><a href="#list">list(pageSize=None, projectId=None, q=None, syntax=None, pageToken=None, x__xgafv=None)</a></code></p>
+  <code><a href="#list">list(pageSize=None, pageToken=None, projectId=None, q=None, syntax=None, x__xgafv=None)</a></code></p>
 <p class="firstline">Searches the beacon registry for beacons that match the given search</p>
 <p class="toc_element">
   <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
@@ -336,40 +336,6 @@
         # specified otherwise, this must conform to the
         # <a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf">WGS84
         # standard</a>. Values must be within normalized ranges.
-        #
-        # Example of normalization code in Python:
-        #
-        #     def NormalizeLongitude(longitude):
-        #       """Wraps decimal degrees longitude to [-180.0, 180.0]."""
-        #       q, r = divmod(longitude, 360.0)
-        #       if r > 180.0 or (r == 180.0 and q <= -1.0):
-        #         return r - 360.0
-        #       return r
-        #
-        #     def NormalizeLatLng(latitude, longitude):
-        #       """Wraps decimal degrees latitude and longitude to
-        #       [-90.0, 90.0] and [-180.0, 180.0], respectively."""
-        #       r = latitude % 360.0
-        #       if r <= 90.0:
-        #         return r, NormalizeLongitude(longitude)
-        #       elif r >= 270.0:
-        #         return r - 360, NormalizeLongitude(longitude)
-        #       else:
-        #         return 180 - r, NormalizeLongitude(longitude + 180.0)
-        #
-        #     assert 180.0 == NormalizeLongitude(180.0)
-        #     assert -180.0 == NormalizeLongitude(-180.0)
-        #     assert -179.0 == NormalizeLongitude(181.0)
-        #     assert (0.0, 0.0) == NormalizeLatLng(360.0, 0.0)
-        #     assert (0.0, 0.0) == NormalizeLatLng(-360.0, 0.0)
-        #     assert (85.0, 180.0) == NormalizeLatLng(95.0, 0.0)
-        #     assert (-85.0, -170.0) == NormalizeLatLng(-95.0, 10.0)
-        #     assert (90.0, 10.0) == NormalizeLatLng(90.0, 10.0)
-        #     assert (-90.0, -10.0) == NormalizeLatLng(-90.0, -10.0)
-        #     assert (0.0, -170.0) == NormalizeLatLng(-180.0, 10.0)
-        #     assert (0.0, -170.0) == NormalizeLatLng(180.0, 10.0)
-        #     assert (-90.0, 10.0) == NormalizeLatLng(270.0, 10.0)
-        #     assert (90.0, 10.0) == NormalizeLatLng(-270.0, 10.0)
       "latitude": 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
       "longitude": 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
     },
@@ -401,10 +367,13 @@
         #    bluetooth client) handle the identity key, and obviously on how
         #    securely the identity key was generated.
         #
-        # See [the Eddystone specification](https://github.com/google/eddystone/tree/master/eddystone-eid) at GitHub.
+        # See [the Eddystone
+        # specification](https://github.com/google/eddystone/tree/master/eddystone-eid)
+        # at GitHub.
       "rotationPeriodExponent": 42, # Indicates the nominal period between each rotation of the beacon's
           # ephemeral ID. "Nominal" because the beacon should randomize the
-          # actual interval. See [the spec at github](https://github.com/google/eddystone/tree/master/eddystone-eid)
+          # actual interval. See [the spec at
+          # github](https://github.com/google/eddystone/tree/master/eddystone-eid)
           # for details. This value corresponds to a power-of-two scaler on the
           # beacon's clock: when the scaler value is K, the beacon will begin
           # broadcasting a new ephemeral ID on average every 2^K seconds.
@@ -413,16 +382,16 @@
           # value to the resolving service. Significant delay in transmitting this
           # value to the service risks registration or resolution failures. If a
           # value is not provided, the default is zero.
-      "serviceEcdhPublicKey": "A String", # The service's public key used for the Elliptic curve Diffie-Hellman
-          # key exchange. When this field is populated, `beacon_ecdh_public_key`
+      "beaconEcdhPublicKey": "A String", # The beacon's public key used for the Elliptic curve Diffie-Hellman
+          # key exchange. When this field is populated, `service_ecdh_public_key`
           # must also be populated, and `beacon_identity_key` must not be.
       "initialEid": "A String", # An initial ephemeral ID calculated using the clock value submitted as
           # `initial_clock_value`, and the secret key generated by the
           # Diffie-Hellman key exchange using `service_ecdh_public_key` and
           # `service_ecdh_public_key`. This initial EID value will be used by the
           # service to confirm that the key exchange process was successful.
-      "beaconEcdhPublicKey": "A String", # The beacon's public key used for the Elliptic curve Diffie-Hellman
-          # key exchange. When this field is populated, `service_ecdh_public_key`
+      "serviceEcdhPublicKey": "A String", # The service's public key used for the Elliptic curve Diffie-Hellman
+          # key exchange. When this field is populated, `beacon_ecdh_public_key`
           # must also be populated, and `beacon_identity_key` must not be.
       "beaconIdentityKey": "A String", # The private key of the beacon. If this field is populated,
           # `beacon_ecdh_public_key` and `service_ecdh_public_key` must not be
@@ -472,7 +441,7 @@
 </div>
 
 <div class="method">
-    <code class="details" id="list">list(pageSize=None, projectId=None, q=None, syntax=None, pageToken=None, x__xgafv=None)</code>
+    <code class="details" id="list">list(pageSize=None, pageToken=None, projectId=None, q=None, syntax=None, x__xgafv=None)</code>
   <pre>Searches the beacon registry for beacons that match the given search
 criteria. Only those beacons that the client has permission to list
 will be returned.
@@ -484,6 +453,7 @@
 Args:
   pageSize: integer, The maximum number of records to return for this request, up to a
 server-defined upper limit.
+  pageToken: string, A pagination token obtained from a previous request to list beacons.
   projectId: string, The project id to list beacons under. If not present then the project
 credential that made the request is used as the project.
 Optional.
@@ -554,7 +524,6 @@
 
 Example REST request:
 `GET /v1beta1/beacons?q=status:active%20lat:51.123%20lng:-1.095%20radius:1000`
-  pageToken: string, A pagination token obtained from a previous request to list beacons.
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -587,40 +556,6 @@
             # specified otherwise, this must conform to the
             # <a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf">WGS84
             # standard</a>. Values must be within normalized ranges.
-            #
-            # Example of normalization code in Python:
-            #
-            #     def NormalizeLongitude(longitude):
-            #       """Wraps decimal degrees longitude to [-180.0, 180.0]."""
-            #       q, r = divmod(longitude, 360.0)
-            #       if r > 180.0 or (r == 180.0 and q <= -1.0):
-            #         return r - 360.0
-            #       return r
-            #
-            #     def NormalizeLatLng(latitude, longitude):
-            #       """Wraps decimal degrees latitude and longitude to
-            #       [-90.0, 90.0] and [-180.0, 180.0], respectively."""
-            #       r = latitude % 360.0
-            #       if r <= 90.0:
-            #         return r, NormalizeLongitude(longitude)
-            #       elif r >= 270.0:
-            #         return r - 360, NormalizeLongitude(longitude)
-            #       else:
-            #         return 180 - r, NormalizeLongitude(longitude + 180.0)
-            #
-            #     assert 180.0 == NormalizeLongitude(180.0)
-            #     assert -180.0 == NormalizeLongitude(-180.0)
-            #     assert -179.0 == NormalizeLongitude(181.0)
-            #     assert (0.0, 0.0) == NormalizeLatLng(360.0, 0.0)
-            #     assert (0.0, 0.0) == NormalizeLatLng(-360.0, 0.0)
-            #     assert (85.0, 180.0) == NormalizeLatLng(95.0, 0.0)
-            #     assert (-85.0, -170.0) == NormalizeLatLng(-95.0, 10.0)
-            #     assert (90.0, 10.0) == NormalizeLatLng(90.0, 10.0)
-            #     assert (-90.0, -10.0) == NormalizeLatLng(-90.0, -10.0)
-            #     assert (0.0, -170.0) == NormalizeLatLng(-180.0, 10.0)
-            #     assert (0.0, -170.0) == NormalizeLatLng(180.0, 10.0)
-            #     assert (-90.0, 10.0) == NormalizeLatLng(270.0, 10.0)
-            #     assert (90.0, 10.0) == NormalizeLatLng(-270.0, 10.0)
           "latitude": 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
           "longitude": 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
         },
@@ -652,10 +587,13 @@
             #    bluetooth client) handle the identity key, and obviously on how
             #    securely the identity key was generated.
             #
-            # See [the Eddystone specification](https://github.com/google/eddystone/tree/master/eddystone-eid) at GitHub.
+            # See [the Eddystone
+            # specification](https://github.com/google/eddystone/tree/master/eddystone-eid)
+            # at GitHub.
           "rotationPeriodExponent": 42, # Indicates the nominal period between each rotation of the beacon's
               # ephemeral ID. "Nominal" because the beacon should randomize the
-              # actual interval. See [the spec at github](https://github.com/google/eddystone/tree/master/eddystone-eid)
+              # actual interval. See [the spec at
+              # github](https://github.com/google/eddystone/tree/master/eddystone-eid)
               # for details. This value corresponds to a power-of-two scaler on the
               # beacon's clock: when the scaler value is K, the beacon will begin
               # broadcasting a new ephemeral ID on average every 2^K seconds.
@@ -664,16 +602,16 @@
               # value to the resolving service. Significant delay in transmitting this
               # value to the service risks registration or resolution failures. If a
               # value is not provided, the default is zero.
-          "serviceEcdhPublicKey": "A String", # The service's public key used for the Elliptic curve Diffie-Hellman
-              # key exchange. When this field is populated, `beacon_ecdh_public_key`
+          "beaconEcdhPublicKey": "A String", # The beacon's public key used for the Elliptic curve Diffie-Hellman
+              # key exchange. When this field is populated, `service_ecdh_public_key`
               # must also be populated, and `beacon_identity_key` must not be.
           "initialEid": "A String", # An initial ephemeral ID calculated using the clock value submitted as
               # `initial_clock_value`, and the secret key generated by the
               # Diffie-Hellman key exchange using `service_ecdh_public_key` and
               # `service_ecdh_public_key`. This initial EID value will be used by the
               # service to confirm that the key exchange process was successful.
-          "beaconEcdhPublicKey": "A String", # The beacon's public key used for the Elliptic curve Diffie-Hellman
-              # key exchange. When this field is populated, `service_ecdh_public_key`
+          "serviceEcdhPublicKey": "A String", # The service's public key used for the Elliptic curve Diffie-Hellman
+              # key exchange. When this field is populated, `beacon_ecdh_public_key`
               # must also be populated, and `beacon_identity_key` must not be.
           "beaconIdentityKey": "A String", # The private key of the beacon. If this field is populated,
               # `beacon_ecdh_public_key` and `service_ecdh_public_key` must not be
@@ -773,40 +711,6 @@
       # specified otherwise, this must conform to the
       # <a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf">WGS84
       # standard</a>. Values must be within normalized ranges.
-      #
-      # Example of normalization code in Python:
-      #
-      #     def NormalizeLongitude(longitude):
-      #       """Wraps decimal degrees longitude to [-180.0, 180.0]."""
-      #       q, r = divmod(longitude, 360.0)
-      #       if r > 180.0 or (r == 180.0 and q <= -1.0):
-      #         return r - 360.0
-      #       return r
-      #
-      #     def NormalizeLatLng(latitude, longitude):
-      #       """Wraps decimal degrees latitude and longitude to
-      #       [-90.0, 90.0] and [-180.0, 180.0], respectively."""
-      #       r = latitude % 360.0
-      #       if r <= 90.0:
-      #         return r, NormalizeLongitude(longitude)
-      #       elif r >= 270.0:
-      #         return r - 360, NormalizeLongitude(longitude)
-      #       else:
-      #         return 180 - r, NormalizeLongitude(longitude + 180.0)
-      #
-      #     assert 180.0 == NormalizeLongitude(180.0)
-      #     assert -180.0 == NormalizeLongitude(-180.0)
-      #     assert -179.0 == NormalizeLongitude(181.0)
-      #     assert (0.0, 0.0) == NormalizeLatLng(360.0, 0.0)
-      #     assert (0.0, 0.0) == NormalizeLatLng(-360.0, 0.0)
-      #     assert (85.0, 180.0) == NormalizeLatLng(95.0, 0.0)
-      #     assert (-85.0, -170.0) == NormalizeLatLng(-95.0, 10.0)
-      #     assert (90.0, 10.0) == NormalizeLatLng(90.0, 10.0)
-      #     assert (-90.0, -10.0) == NormalizeLatLng(-90.0, -10.0)
-      #     assert (0.0, -170.0) == NormalizeLatLng(-180.0, 10.0)
-      #     assert (0.0, -170.0) == NormalizeLatLng(180.0, 10.0)
-      #     assert (-90.0, 10.0) == NormalizeLatLng(270.0, 10.0)
-      #     assert (90.0, 10.0) == NormalizeLatLng(-270.0, 10.0)
     "latitude": 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
     "longitude": 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
   },
@@ -838,10 +742,13 @@
       #    bluetooth client) handle the identity key, and obviously on how
       #    securely the identity key was generated.
       #
-      # See [the Eddystone specification](https://github.com/google/eddystone/tree/master/eddystone-eid) at GitHub.
+      # See [the Eddystone
+      # specification](https://github.com/google/eddystone/tree/master/eddystone-eid)
+      # at GitHub.
     "rotationPeriodExponent": 42, # Indicates the nominal period between each rotation of the beacon's
         # ephemeral ID. "Nominal" because the beacon should randomize the
-        # actual interval. See [the spec at github](https://github.com/google/eddystone/tree/master/eddystone-eid)
+        # actual interval. See [the spec at
+        # github](https://github.com/google/eddystone/tree/master/eddystone-eid)
         # for details. This value corresponds to a power-of-two scaler on the
         # beacon's clock: when the scaler value is K, the beacon will begin
         # broadcasting a new ephemeral ID on average every 2^K seconds.
@@ -850,16 +757,16 @@
         # value to the resolving service. Significant delay in transmitting this
         # value to the service risks registration or resolution failures. If a
         # value is not provided, the default is zero.
-    "serviceEcdhPublicKey": "A String", # The service's public key used for the Elliptic curve Diffie-Hellman
-        # key exchange. When this field is populated, `beacon_ecdh_public_key`
+    "beaconEcdhPublicKey": "A String", # The beacon's public key used for the Elliptic curve Diffie-Hellman
+        # key exchange. When this field is populated, `service_ecdh_public_key`
         # must also be populated, and `beacon_identity_key` must not be.
     "initialEid": "A String", # An initial ephemeral ID calculated using the clock value submitted as
         # `initial_clock_value`, and the secret key generated by the
         # Diffie-Hellman key exchange using `service_ecdh_public_key` and
         # `service_ecdh_public_key`. This initial EID value will be used by the
         # service to confirm that the key exchange process was successful.
-    "beaconEcdhPublicKey": "A String", # The beacon's public key used for the Elliptic curve Diffie-Hellman
-        # key exchange. When this field is populated, `service_ecdh_public_key`
+    "serviceEcdhPublicKey": "A String", # The service's public key used for the Elliptic curve Diffie-Hellman
+        # key exchange. When this field is populated, `beacon_ecdh_public_key`
         # must also be populated, and `beacon_identity_key` must not be.
     "beaconIdentityKey": "A String", # The private key of the beacon. If this field is populated,
         # `beacon_ecdh_public_key` and `service_ecdh_public_key` must not be
@@ -939,40 +846,6 @@
         # specified otherwise, this must conform to the
         # <a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf">WGS84
         # standard</a>. Values must be within normalized ranges.
-        #
-        # Example of normalization code in Python:
-        #
-        #     def NormalizeLongitude(longitude):
-        #       """Wraps decimal degrees longitude to [-180.0, 180.0]."""
-        #       q, r = divmod(longitude, 360.0)
-        #       if r > 180.0 or (r == 180.0 and q <= -1.0):
-        #         return r - 360.0
-        #       return r
-        #
-        #     def NormalizeLatLng(latitude, longitude):
-        #       """Wraps decimal degrees latitude and longitude to
-        #       [-90.0, 90.0] and [-180.0, 180.0], respectively."""
-        #       r = latitude % 360.0
-        #       if r <= 90.0:
-        #         return r, NormalizeLongitude(longitude)
-        #       elif r >= 270.0:
-        #         return r - 360, NormalizeLongitude(longitude)
-        #       else:
-        #         return 180 - r, NormalizeLongitude(longitude + 180.0)
-        #
-        #     assert 180.0 == NormalizeLongitude(180.0)
-        #     assert -180.0 == NormalizeLongitude(-180.0)
-        #     assert -179.0 == NormalizeLongitude(181.0)
-        #     assert (0.0, 0.0) == NormalizeLatLng(360.0, 0.0)
-        #     assert (0.0, 0.0) == NormalizeLatLng(-360.0, 0.0)
-        #     assert (85.0, 180.0) == NormalizeLatLng(95.0, 0.0)
-        #     assert (-85.0, -170.0) == NormalizeLatLng(-95.0, 10.0)
-        #     assert (90.0, 10.0) == NormalizeLatLng(90.0, 10.0)
-        #     assert (-90.0, -10.0) == NormalizeLatLng(-90.0, -10.0)
-        #     assert (0.0, -170.0) == NormalizeLatLng(-180.0, 10.0)
-        #     assert (0.0, -170.0) == NormalizeLatLng(180.0, 10.0)
-        #     assert (-90.0, 10.0) == NormalizeLatLng(270.0, 10.0)
-        #     assert (90.0, 10.0) == NormalizeLatLng(-270.0, 10.0)
       "latitude": 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
       "longitude": 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
     },
@@ -1004,10 +877,13 @@
         #    bluetooth client) handle the identity key, and obviously on how
         #    securely the identity key was generated.
         #
-        # See [the Eddystone specification](https://github.com/google/eddystone/tree/master/eddystone-eid) at GitHub.
+        # See [the Eddystone
+        # specification](https://github.com/google/eddystone/tree/master/eddystone-eid)
+        # at GitHub.
       "rotationPeriodExponent": 42, # Indicates the nominal period between each rotation of the beacon's
           # ephemeral ID. "Nominal" because the beacon should randomize the
-          # actual interval. See [the spec at github](https://github.com/google/eddystone/tree/master/eddystone-eid)
+          # actual interval. See [the spec at
+          # github](https://github.com/google/eddystone/tree/master/eddystone-eid)
           # for details. This value corresponds to a power-of-two scaler on the
           # beacon's clock: when the scaler value is K, the beacon will begin
           # broadcasting a new ephemeral ID on average every 2^K seconds.
@@ -1016,16 +892,16 @@
           # value to the resolving service. Significant delay in transmitting this
           # value to the service risks registration or resolution failures. If a
           # value is not provided, the default is zero.
-      "serviceEcdhPublicKey": "A String", # The service's public key used for the Elliptic curve Diffie-Hellman
-          # key exchange. When this field is populated, `beacon_ecdh_public_key`
+      "beaconEcdhPublicKey": "A String", # The beacon's public key used for the Elliptic curve Diffie-Hellman
+          # key exchange. When this field is populated, `service_ecdh_public_key`
           # must also be populated, and `beacon_identity_key` must not be.
       "initialEid": "A String", # An initial ephemeral ID calculated using the clock value submitted as
           # `initial_clock_value`, and the secret key generated by the
           # Diffie-Hellman key exchange using `service_ecdh_public_key` and
           # `service_ecdh_public_key`. This initial EID value will be used by the
           # service to confirm that the key exchange process was successful.
-      "beaconEcdhPublicKey": "A String", # The beacon's public key used for the Elliptic curve Diffie-Hellman
-          # key exchange. When this field is populated, `service_ecdh_public_key`
+      "serviceEcdhPublicKey": "A String", # The service's public key used for the Elliptic curve Diffie-Hellman
+          # key exchange. When this field is populated, `beacon_ecdh_public_key`
           # must also be populated, and `beacon_identity_key` must not be.
       "beaconIdentityKey": "A String", # The private key of the beacon. If this field is populated,
           # `beacon_ecdh_public_key` and `service_ecdh_public_key` must not be
@@ -1119,40 +995,6 @@
       # specified otherwise, this must conform to the
       # <a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf">WGS84
       # standard</a>. Values must be within normalized ranges.
-      #
-      # Example of normalization code in Python:
-      #
-      #     def NormalizeLongitude(longitude):
-      #       """Wraps decimal degrees longitude to [-180.0, 180.0]."""
-      #       q, r = divmod(longitude, 360.0)
-      #       if r > 180.0 or (r == 180.0 and q <= -1.0):
-      #         return r - 360.0
-      #       return r
-      #
-      #     def NormalizeLatLng(latitude, longitude):
-      #       """Wraps decimal degrees latitude and longitude to
-      #       [-90.0, 90.0] and [-180.0, 180.0], respectively."""
-      #       r = latitude % 360.0
-      #       if r <= 90.0:
-      #         return r, NormalizeLongitude(longitude)
-      #       elif r >= 270.0:
-      #         return r - 360, NormalizeLongitude(longitude)
-      #       else:
-      #         return 180 - r, NormalizeLongitude(longitude + 180.0)
-      #
-      #     assert 180.0 == NormalizeLongitude(180.0)
-      #     assert -180.0 == NormalizeLongitude(-180.0)
-      #     assert -179.0 == NormalizeLongitude(181.0)
-      #     assert (0.0, 0.0) == NormalizeLatLng(360.0, 0.0)
-      #     assert (0.0, 0.0) == NormalizeLatLng(-360.0, 0.0)
-      #     assert (85.0, 180.0) == NormalizeLatLng(95.0, 0.0)
-      #     assert (-85.0, -170.0) == NormalizeLatLng(-95.0, 10.0)
-      #     assert (90.0, 10.0) == NormalizeLatLng(90.0, 10.0)
-      #     assert (-90.0, -10.0) == NormalizeLatLng(-90.0, -10.0)
-      #     assert (0.0, -170.0) == NormalizeLatLng(-180.0, 10.0)
-      #     assert (0.0, -170.0) == NormalizeLatLng(180.0, 10.0)
-      #     assert (-90.0, 10.0) == NormalizeLatLng(270.0, 10.0)
-      #     assert (90.0, 10.0) == NormalizeLatLng(-270.0, 10.0)
     "latitude": 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
     "longitude": 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
   },
@@ -1184,10 +1026,13 @@
       #    bluetooth client) handle the identity key, and obviously on how
       #    securely the identity key was generated.
       #
-      # See [the Eddystone specification](https://github.com/google/eddystone/tree/master/eddystone-eid) at GitHub.
+      # See [the Eddystone
+      # specification](https://github.com/google/eddystone/tree/master/eddystone-eid)
+      # at GitHub.
     "rotationPeriodExponent": 42, # Indicates the nominal period between each rotation of the beacon's
         # ephemeral ID. "Nominal" because the beacon should randomize the
-        # actual interval. See [the spec at github](https://github.com/google/eddystone/tree/master/eddystone-eid)
+        # actual interval. See [the spec at
+        # github](https://github.com/google/eddystone/tree/master/eddystone-eid)
         # for details. This value corresponds to a power-of-two scaler on the
         # beacon's clock: when the scaler value is K, the beacon will begin
         # broadcasting a new ephemeral ID on average every 2^K seconds.
@@ -1196,16 +1041,16 @@
         # value to the resolving service. Significant delay in transmitting this
         # value to the service risks registration or resolution failures. If a
         # value is not provided, the default is zero.
-    "serviceEcdhPublicKey": "A String", # The service's public key used for the Elliptic curve Diffie-Hellman
-        # key exchange. When this field is populated, `beacon_ecdh_public_key`
+    "beaconEcdhPublicKey": "A String", # The beacon's public key used for the Elliptic curve Diffie-Hellman
+        # key exchange. When this field is populated, `service_ecdh_public_key`
         # must also be populated, and `beacon_identity_key` must not be.
     "initialEid": "A String", # An initial ephemeral ID calculated using the clock value submitted as
         # `initial_clock_value`, and the secret key generated by the
         # Diffie-Hellman key exchange using `service_ecdh_public_key` and
         # `service_ecdh_public_key`. This initial EID value will be used by the
         # service to confirm that the key exchange process was successful.
-    "beaconEcdhPublicKey": "A String", # The beacon's public key used for the Elliptic curve Diffie-Hellman
-        # key exchange. When this field is populated, `service_ecdh_public_key`
+    "serviceEcdhPublicKey": "A String", # The service's public key used for the Elliptic curve Diffie-Hellman
+        # key exchange. When this field is populated, `beacon_ecdh_public_key`
         # must also be populated, and `beacon_identity_key` must not be.
     "beaconIdentityKey": "A String", # The private key of the beacon. If this field is populated,
         # `beacon_ecdh_public_key` and `service_ecdh_public_key` must not be
@@ -1285,40 +1130,6 @@
         # specified otherwise, this must conform to the
         # <a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf">WGS84
         # standard</a>. Values must be within normalized ranges.
-        #
-        # Example of normalization code in Python:
-        #
-        #     def NormalizeLongitude(longitude):
-        #       """Wraps decimal degrees longitude to [-180.0, 180.0]."""
-        #       q, r = divmod(longitude, 360.0)
-        #       if r > 180.0 or (r == 180.0 and q <= -1.0):
-        #         return r - 360.0
-        #       return r
-        #
-        #     def NormalizeLatLng(latitude, longitude):
-        #       """Wraps decimal degrees latitude and longitude to
-        #       [-90.0, 90.0] and [-180.0, 180.0], respectively."""
-        #       r = latitude % 360.0
-        #       if r <= 90.0:
-        #         return r, NormalizeLongitude(longitude)
-        #       elif r >= 270.0:
-        #         return r - 360, NormalizeLongitude(longitude)
-        #       else:
-        #         return 180 - r, NormalizeLongitude(longitude + 180.0)
-        #
-        #     assert 180.0 == NormalizeLongitude(180.0)
-        #     assert -180.0 == NormalizeLongitude(-180.0)
-        #     assert -179.0 == NormalizeLongitude(181.0)
-        #     assert (0.0, 0.0) == NormalizeLatLng(360.0, 0.0)
-        #     assert (0.0, 0.0) == NormalizeLatLng(-360.0, 0.0)
-        #     assert (85.0, 180.0) == NormalizeLatLng(95.0, 0.0)
-        #     assert (-85.0, -170.0) == NormalizeLatLng(-95.0, 10.0)
-        #     assert (90.0, 10.0) == NormalizeLatLng(90.0, 10.0)
-        #     assert (-90.0, -10.0) == NormalizeLatLng(-90.0, -10.0)
-        #     assert (0.0, -170.0) == NormalizeLatLng(-180.0, 10.0)
-        #     assert (0.0, -170.0) == NormalizeLatLng(180.0, 10.0)
-        #     assert (-90.0, 10.0) == NormalizeLatLng(270.0, 10.0)
-        #     assert (90.0, 10.0) == NormalizeLatLng(-270.0, 10.0)
       "latitude": 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
       "longitude": 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
     },
@@ -1350,10 +1161,13 @@
         #    bluetooth client) handle the identity key, and obviously on how
         #    securely the identity key was generated.
         #
-        # See [the Eddystone specification](https://github.com/google/eddystone/tree/master/eddystone-eid) at GitHub.
+        # See [the Eddystone
+        # specification](https://github.com/google/eddystone/tree/master/eddystone-eid)
+        # at GitHub.
       "rotationPeriodExponent": 42, # Indicates the nominal period between each rotation of the beacon's
           # ephemeral ID. "Nominal" because the beacon should randomize the
-          # actual interval. See [the spec at github](https://github.com/google/eddystone/tree/master/eddystone-eid)
+          # actual interval. See [the spec at
+          # github](https://github.com/google/eddystone/tree/master/eddystone-eid)
           # for details. This value corresponds to a power-of-two scaler on the
           # beacon's clock: when the scaler value is K, the beacon will begin
           # broadcasting a new ephemeral ID on average every 2^K seconds.
@@ -1362,16 +1176,16 @@
           # value to the resolving service. Significant delay in transmitting this
           # value to the service risks registration or resolution failures. If a
           # value is not provided, the default is zero.
-      "serviceEcdhPublicKey": "A String", # The service's public key used for the Elliptic curve Diffie-Hellman
-          # key exchange. When this field is populated, `beacon_ecdh_public_key`
+      "beaconEcdhPublicKey": "A String", # The beacon's public key used for the Elliptic curve Diffie-Hellman
+          # key exchange. When this field is populated, `service_ecdh_public_key`
           # must also be populated, and `beacon_identity_key` must not be.
       "initialEid": "A String", # An initial ephemeral ID calculated using the clock value submitted as
           # `initial_clock_value`, and the secret key generated by the
           # Diffie-Hellman key exchange using `service_ecdh_public_key` and
           # `service_ecdh_public_key`. This initial EID value will be used by the
           # service to confirm that the key exchange process was successful.
-      "beaconEcdhPublicKey": "A String", # The beacon's public key used for the Elliptic curve Diffie-Hellman
-          # key exchange. When this field is populated, `service_ecdh_public_key`
+      "serviceEcdhPublicKey": "A String", # The service's public key used for the Elliptic curve Diffie-Hellman
+          # key exchange. When this field is populated, `beacon_ecdh_public_key`
           # must also be populated, and `beacon_identity_key` must not be.
       "beaconIdentityKey": "A String", # The private key of the beacon. If this field is populated,
           # `beacon_ecdh_public_key` and `service_ecdh_public_key` must not be